导读:有个朋友问:用photoshop修改图片保存为pNG格式,有透明部分,但是上传后透明部分变成黑色。如何不变成黑色?然后我就让她换成GIF格式试试,也不行,然后让她把png-24改成png-8,结果可以
发表日期:2018-10-25
文章编辑:兴田科技
浏览次数:13435
标签:
有个朋友问:用photoshop修改图片保存为pNG格式,有透明部分,但是上传后透明部分变成黑色。如何不变成黑色?然后我就让她换成GIF格式试试,也不行,然后让她把png-24改成png-8,结果可以了。然后我在寻找答案的过程中,觉得这些图片格式在网页设计中经常用到,所以有了此文。
pNG图片格式特点:
png这种图片格式包括了许多子类,但是在实践中大致可以分为256色的png和全色的png,你完成可以用256色的png代替gif,用全色的png代替jpeg,png是完全支持alpha透明的(透明,半透明,不透明),尽管有两个怪异的现象(在ie6下)。
png是一种无损耗的图像格式,这也意味着你可以对png图片做任何操作也不会使 得图像质量产生损耗。这也使得png可以作为jpeg编辑的过渡格式。
pNG在ie中的怪异表现:
IE6以下的浏览器支持pNG8的索引透明,但图片必须为全透明,半透明的png8在浏览器下显示为全透明。
Alpha透明的全色pNG(png32)在ie6中会出现背景颜色(通常是灰色)。
由上面可以总结:
(a)全透明的png8可以在任一浏览器正常显示(就像gif一样)。半透明的png8在除了ie6及其以下的浏览器下错误的显示成全透明,其它浏览器都能正常显示半透明。这个bug并不需要特殊对待,因为在不支持半透明的浏览器下只是显示为全透明,对用户体验影响不大,它反而是透明gif的加强版。
(b)第二个bug没有什么好的方法解决,只能通过(AlphaImageLoader滤镜和htc)方法来处理。
更多关于pNG:
pNG8
256色pNG的别名,无损格式,体积最小,但最多只支持256色
pNG24
全色pNG的别名,除了png8的特点,理论上可以存储2的24次方种颜色,但ie6之前的版本对此格式兼容有问题
pNG32
全色pNG的别名,除了以上的特点外,体积稍大
相比GIF
pNG 8除了不支持动画外,pNG8有GIF所有的特点,但是比GIF更加具有优势的是它支持alpha透明和更优的压缩。所以,大多数情况下,你都应该用pNG8不是GIF(除了非常小的图片GIF会有更好的压缩外)。
相比JpEG
JpEG比全色pNG具有更加好的压缩,因此也使得JpEG适合照片,但是编辑JpEG过程中容易造成质量的损失,所以全色pNG适合作为编辑JpEG的过渡格式。
到底是png24 Alpha透明还是png32 Alpha透明?这个可能跟每个人使用切图软件有关。
1photoshop
1)只能导出布尔透明(全透明或者全不透明)的pNG8。
2)能导出alpha透明(全透明,全不透明,半透明)的pNG24。
3)不能导出pNG32。
2Fireworks
1)既能导出布尔透明的pNG8,也能导出alpha透明的pNG8,半透明的png8在除了ie6及其以下的浏览器下错误的显示成全透明。
2)能导出pNG24,但是和jpeg差不多,不能透明。
3)能导出alpha透明的pNG32。
应该说pNG24和pNG32是一样,(The difference between pNG24 and pNG32)一文中指出pNG32中每个像素不仅存储了24位真彩信息还存储了8位alpha通道。所以fw导出pNG32不用选择透明,而ps导出 pNG24时是要勾选透明度的,这时候的pNG24应该就转化成了pNG32了吧。
pNG8与pNG24的区别:
pNG-8和pNG-24,其最大的区别不是颜色位的区别,而是存储方式不同;
pNG-8 色盘索引、调色板中一位透明值、不支持阿尔法通道的半透明,存储格式中每个像素无透明度的数据块定义;pNG-8是用8位索引值来在调色盘中索引一个颜色,因为一个索引值的最大上限为2的8次方既128,故调色盘中颜色数最多为128种,所以该文件格式又被叫pNG-8128仿色。
pNG-24 无调色板、支持阿尔法通道的半透明、每个点阵都有透明度的定义,最低32位真彩色;是pNG-24是用24位来保存一个像素值,是真彩色。
pNG-8 和 gif 有一些相似之处,模式都是索引颜色,只支持像素级的纯透明,不支持 alpha 透明。我们通常说的“IE6 不支持 pNG 透明”,是指不支持 pNG-24 的透明(将透明区域显示为灰色)。
pNG的使用技巧
pNG的格式和透明度
这个Fireworks会比较清楚,打开Fireworkd优化面板,可以清楚看到png有3种不同深度的格式:png8、png24、png32。
其中,在优化面板选择png8,可发现png8包括不透明、索引色透明、alpha透明3种格式。
pNG8
8位的png最多支持256(2的8次方)种颜色,8位的png其实8支持不透明、索引透明、alpha透明。
pNG24
支持2的24次方种颜色,表现为不透明。
pNG32
支持2的32次方种颜色,32位是我们最常使用的格式,它是在png在24位的png基础上增加了8位的透明信息,支持不同程度的半透效果。
其实pNG8的3种格式不透明、索引透明、alpha透明,正好把png的所有格式都归类好了:
『png 不透明』格式
『png 索引透明』格式
『png alpha透明』格式
『pNG 不透明』格式
说到不透明,就像jpg格式一样,『png 不透明』只能为不透明,代表格式有:『png8 不透明』和『png24』,导出软件有:photoshop、Fireworks。不推荐使用『png 不透明』格式,建议用jpg图片来代替它。
可能会有同学会问为什么png24是不透明的,我使用photoshop导出来的就是png24啊?
png24实际为不透明图片
打开photoshop,任意打开一个带透明的psd文件,存储为web所有格式(ctrl+shift+alt+s),如下面板所示:
不勾选透明度单选框,图片的透明背景会被默认的白色填充
导出来的png图片深度为24位,图片为不透明,表现跟jpg图片相似
如果勾选了透明度(alpha通道),导出深度为32位的透明图片
从photoshop存储为web所有格式面板中这样理解,png24深度其实为24位,再勾选上8位的alhpa通道,24+8=32,即『png32』 = 『png24+alpha』,这也许是photoshop软件开发者不添加png32位格式的原因,下图为photoshop存储为web所有格式界面的图片格式选择,并没有png32位的选项~
『pNG 索引透明』格式
说到索引颜色透明,我们可以了解下什么是索引颜色,『png 索引透明』代表格式有『png8 索引透明』,导出软件有:photoshop、Fireworks,它的特点总结如下:
挑选一副图片中最有代表性的若干种颜色(通常不超过256种)
只能为不透明或全透明
文件体积小
带有杂边锯齿
支持IE6
如何使用photoshop导出『png8 索引透明』
使用photoshop,存储为web所有格式,按照如下图片的红色边框配置,可导出png8索引透明
注:使用photoshop导出『png8 索引透明』的效果比Fireworks导出的效果良好,这里不介绍使用Fireworks导出『png8 索引透明』
『png8 索引透明』产生杂边锯齿原因
『png8 索引透明』只有透明索引颜色,没有半透明索引颜色,下图左侧为带半透明像素的图片,在浏览器中打开不会有锯齿,而右侧图片为全透明或不透明的像素,在浏览器打开后有锯齿。
由于『png8 索引透明』没有半透明索引颜色,使用photoshop导出时,原有的半透明转化为不透明,从而产生锯齿。
如何避免『png8 索引透明』的杂边锯齿
方法:设置杂边与背景色颜色一致可达到视觉上透明。
相信不难理解,利用杂边与背景色一致,可以来满足视觉上的透明,缺点是只能适应一种背景色,在其它背景色下同样会产生杂边。
怎么设置呢,打开photoshop,在存储为web格式面板中进行如下操作,在杂边选项中选择与背景色一致的颜色。
『pNG Alpha透明』格式
说到alpha透明,我们可以了解下什么是alpha通道,『png alpha透明』代表格式有『png8 alpha透明』和『png32』,导出软件
Fireworks,它的特点总结如下:
一个8位的灰度通道,该通道用256级灰度来记录图像中的透明度信息,定义透明、不透明和半透明区域
支持全透明和半透明
『png8 alpha透明』文件体积小
『png8 alpha透明』在IE6下有毛边
如何使用Fireworks导出『png8 alpha透明』
Firewoks中,在优化面板,按照如下图片的红色边框配置,可导出png8 alpha透明。
注:Firewoks支持导出『png8 alpha透明』,photoshop不支持导出『png8 alpha透明』
手机端选择哪种png
说到手机,考虑流量的问题是必不可少的,所选png需要满足体积小和视觉效果良好,那么哪种png格式符合这2个要求呢?做个实验吧~
不同png格式测试
测试平台:ios&android webkit浏览器
测试图片:彩种雪碧图1230*82
测试内容:同一张雪碧图导出不同png格式的大小、透明度、杂边以及在retina显示屏和普通显示屏下的对比
测试结果:
从上图可见png32和png24体积太大了,十分消耗手机用户流量,不是我们选择的范围,那么可以锁定目标在『png8 alpha透明』和『png8 索引透明』中,2者对比,可以看出『png8 alpha』在手机端的支持是良好,可能有童鞋会认为,单凭一张图片也不能下结论~
而经过笔者使用多张雪碧图测试后使用Fireworks导出的『png8 alpha』,在手机端的支持是比较好的~不仅文件体积小,节省流量,而且半透明效果良好
于是,移动端采用『png8 alpha透明』,相信『png8 alpha透明』是未来的一种趋势~
pC端选择哪种png
pC端使用哪种png,其实这个话题很早就有结论了,这里简单介绍下。
使用png8的方案:
使用photoshop打开雪碧图,分别导出一张png32和一张『png8 索引透明』的图片,高级浏览器使用png32位图片,针对IE6使用『png8 索引透明』,并设置『png8 索引透明』杂边与背景色颜色一致可达到视觉上透明
注:为啥使用png32而不使用『png8 alpha透明』?因为pc端的网速大多良好,建议使用表现更佳的png图片,显然png32是最合适的,当然你也可以使用『png8 alpha透明』,但是在高清显示器下的质量不如png32
.bg{
background:url(global.png?v=20130530) no-repeat;
_background:url(global_png8.png?v=20130530) no-repeat;//IE6使用的背景图
}
使用IE滤镜的方案:
比较耗性能,而且存在不支持背景平铺,导致链接失效等缺点,不推荐该方案,不要为了IE而把自己搞得像IE~
.bg{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="img. png", sizingMethod="scale");}
另外还有js和打补丁的办法,这里不做介绍,大家有兴趣可以百度下:IE6支持png24
png的格式、颜色种类、位数、透明度、浏览器支持一览
综合参考来源:chinaz,百度文库。
上一篇:
暂无信息更多新闻
2020
关于网站建设,企业网站的作用更类似于企业在报纸和电视上所做的宣传企业本身及品牌的广告。不同之处在于企业网站容量更大,企业可以把任何想让客户及公
View details
2023
随着互联网的普及,越来越多的消费者使用搜索引擎来寻找他们需要的产品和服务。忻州网站优化可以帮助您的网站在搜索结果中更加显眼,从而增加曝光度并吸引更多的潜在客户。与传统的广告投放相比,忻州网站优化能够长期有效地吸引有针对性的流量。
View details
2020
关于网站建设,您不仅可以用文字、图片、动画等方式宣传自己的产品,而且可以介绍自己的企业,发布企业新闻,介绍企业领导,公布公司业绩,提供售后服务,举办产品
View details
2020
关于网站建设,当搜索引擎的算法改变或者加强时,导致一些网站的某些关键字排名消失,一些管理员就说他们的网站消失了。实际上并非如此,在搜索引擎算法改变
View details